package com.server.file.service;

import com.server.model.all.file.vo.UpLoadImageVo;
import com.server.model.all.file.vo.UpLoadMainAndThumbnailImageVo;
import com.server.model.all.file.vo.UploadFileVo;
import com.server.model.all.enums.BucketNameEnum;
import com.server.commons.file.model.input.UploadFileInput;

import javax.servlet.http.HttpServletResponse;

public interface FileUpLoadService {

    /**
     * 上传文件
     * @author LXC
     * @date 2023/2/5 22:52
     */
    UploadFileVo uploadFile(UploadFileInput uploadFileInput);

    /**
     * 上传图片
     * @author LXC
     * @date 2023/2/5 22:52
     */
    UpLoadMainAndThumbnailImageVo upLoadMainAndThumbnailImage(UploadFileInput uploadFileInput);

    /**
     * 上传图片
     * @author LXC
     * @date 2023/2/5 22:52
     */
    UpLoadImageVo upLoadMainImage(UploadFileInput uploadFileInput);

    /**
     * 上传图片
     * @author LXC
     * @date 2023/2/5 22:52
     */
    UpLoadImageVo upLoadThumbnailImage(UploadFileInput uploadFileInput, Integer scaleSize);

    /**
     * 下载文件
     * @author LXC
     * @date 2023/2/5 22:52
     */
    void downFile(HttpServletResponse response, BucketNameEnum bucketNameEnum, String paths);
}
